package com.swz.dcrm.adpter;

import android.content.Context;
import android.widget.TextView;

import com.swz.dcrm.R;
import com.swz.dcrm.base.ViewHolder;
import com.swz.dcrm.model.Boutique;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BoutiqueAdapter extends CustomAdapter<Boutique> {


    private Map<Integer, Boutique> map = new HashMap<>();

    public BoutiqueAdapter(Context context, List<Boutique> datas) {
        super(context, R.layout.item_boutique, datas);
    }

    @Override
    protected void convert(ViewHolder holder, Boutique boutique, int position) {
        holder.setText(R.id.tv_boutique_name, boutique.getBoutiqueName());
        TextView price=holder.getView(R.id.tv_price);
        holder.setOnClickListener(R.id.iv_add,v -> {
          if(boutique.getId()!=0){
              map.put(position,boutique);
          }else {
              for(int i=0;i< mDatas.size()-1;i++){
                  map.put(i,mDatas.get(i));
              }
          }
          if(onClickListener!=null){
              onClickListener.onItemClick(boutique);
          }
        });

        if (position == mDatas.size() - 1) {
            double total=0;
            for(Boutique b:mDatas){
                if(b.getPrice()==null){
                    continue;
                }
                total+=Double.parseDouble(b.getPrice());
            }
            price.setText(formatTosepara(total));
        } else {
            if(boutique.getPrice()!=null){
                price.setText(formatTosepara(Double.parseDouble(boutique.getPrice())));
            }

        }


    }

    public List<Boutique> getSelected(){
        return new ArrayList<>(map.values());
    }
    public static String formatTosepara(double data) {
        DecimalFormat df = new DecimalFormat("#,###.00");
        return df.format(data);
    }
}
